package com.dreikraft.swing; import java.awt.Component; import javax.swing.ImageIcon; import javax.swing.JTable; import javax.swing.table.DefaultTableCellRenderer; /** * IconCellRenderer * * @author jan.illetschko@3kraft.com */ public class IconCellRenderer extends DefaultTableCellRenderer { private String iconUrl; private String val; public IconCellRenderer(String iconUrl) { this(iconUrl, null); } public IconCellRenderer(String iconUrl, String val) { this.iconUrl = iconUrl; this.val = val; } /** * {@inheritDoc} */ @Override public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) { super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); if (iconUrl != null && (val == null || value.equals(val))) { ImageIcon icon = new ImageIcon(getClass().getClassLoader().getResource( iconUrl)); setIcon(icon); } else { setIcon(null); } return this; } }